package com.yuandian.api.management.feign;

import com.yuandian.api.customer_perception.po.SystemOverviewParams;
import com.yuandian.api.customer_perception.vo.SearchOptionVo;
import com.yuandian.api.management.vo.AreaDataVo;
import com.yuandian.bpm.common.core.util.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * 说明：远程调用选项接口服务
 * @Author zfsn
 * @Date 2023/3/14 16:06
 */
@FeignClient(contextId = "RemoteAreaService", value = "bpm-management")
public interface RemoteAreaService {
	/**
	 * 获取所有区域信息
	 * @return 通用返回对象
	 */
	@GetMapping("/area/getAreaCodeAndName")
	R<List<Map<String, String>>> getAreaCodeAndName();

	/**
	 * 根据区域拼音查询子集信息
	 * @return 通用返回对象
	 */
	@GetMapping("/area/queryCodeByParentName/{areaName}")
	R<List<AreaDataVo>> queryCodeByParentName(@PathVariable("areaName") String areaName);

	@GetMapping("/area/queryAreaName")
	R<String> queryAreaName(@RequestParam("areaCode") String areaCode);

	/**
	 * 查询地市id和名称
	 * @param params 请求参数
	 * @return 查询地市id和名称
	 */
	@PostMapping("/area/queryAreaCodeAndName")
	R<List<SearchOptionVo>> queryAreaCodeAndName(@RequestBody SystemOverviewParams params);
}
